<!--  -->
<template>
  <div class="main-page">
    <el-container>
      <el-header>Header</el-header>
      <el-container>
        <el-aside width="200px">
          <el-menu
            :default-active="activePath"
            class="el-menu-vertical-demo"
            background-color="#0b172f"
            text-color="#fff"
            active-text-color="#fff"
            :unique-opened="true"
            :router="true"
          >
            <el-submenu
              :index="menuListData.path"
              v-for="menuListData in menuListDatas"
              :key="menuListData.id"
            >
              <template slot="title">
                <i class="el-icon-location"></i>
                <span>{{ menuListData.title }}</span>
              </template>
              <el-menu-item
                :index="menuList.path"
                v-for="menuList in menuListData.children"
                :key="menuList.id"
                >{{ menuList.title }}</el-menu-item
              >
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <router-view></router-view>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  data() {
    //这里存放数据
    return {
      activePath: "/admin/user/list",
      menuListDatas: [
        {
          id: 1,
          title: "用户管理",
          path: "/admin/user/list",
          children: [
            {
              id: 101,
              title: "用户列表",
              path: "/admin/user/list",
            },
            {
              id: 102,
              title: "添加用户",
              path: "/admin/user/add",
            },
            {
              id: 103,
              title: "用户等级",
              path: "/admin/user/level",
            },
          ],
        },
        {
          id: 2,
          title: "课程管理",
          path: "/admin/course/list",
          children: [
            {
              id: 201,
              title: "课程列表",
              path: "/admin/course/list",
            },
            {
              id: 202,
              title: "添加课程",
              path: "/admin/course/add",
            },
            {
              id: 203,
              title: "课程分类",
              path: "/admin/course/category",
            },
          ],
        },
      ],
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {},
  beforeCreate() {}, //生命周期 - 创建之前
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  beforeMount() {}, //生命周期 - 挂载之前
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {
    console.log(this.$route);
    this.activePath = this.$route.path;
  },
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>
<style lang="less">
.main-page {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: pink;
  .el-container {
    width: 100%;
    height: 100%;
    color: #fff;
    .el-header {
      background: #182c47;
    }
    .el-aside {
      background: #0b172f;
      .el-menu {
        border-right: 0;
        .el-menu-item.is-active {
          background-color: #182744 !important;
          border-left: 5px solid #45e6c4;
        }
      }
    }
    .el-main {
      background: #f4f4f4;
    }
  }
}
</style>